package com.aest.execution.domain;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.aest.common.annotation.Excel;
import com.aest.common.core.domain.BaseEntity;

/**
 * 任务执行记录对象 aest_execution_record
 * 
 * @author Lanwen.jc
 * @date 2025-07-31
 */
public class ExecutionRecord extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 记录id */
    private Long id;

    /** 任务标识 */
    @Excel(name = "任务标识")
    private String executionId;

    /** 执行人 */
    @Excel(name = "执行人")
    private String userName;

    /** 用例地址 */
    @Excel(name = "用例地址")
    private String gitUrl;

    /** 设备型号（0：AEST-2D 1：AEST-3） */
    @Excel(name = "设备型号", readConverterExp = "0=：AEST-2D,1=：AEST-3")
    private String deviceModel;

    /** 状态（0：等待中 1：执行中 2：已完成 3：执行失败） */
    @Excel(name = "状态", readConverterExp = "0=：等待中,1=：执行中,2=：已完成,3=：执行失败")
    private String status;

    /** 结果文件 */
    @Excel(name = "结果文件")
    private String resultFilePath;

    /** 失败原因 */
    @Excel(name = "失败原因")
    private String failureReason;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }

    public void setExecutionId(String executionId) 
    {
        this.executionId = executionId;
    }

    public String getExecutionId() 
    {
        return executionId;
    }

    public void setUserName(String userName) 
    {
        this.userName = userName;
    }

    public String getUserName() 
    {
        return userName;
    }

    public void setGitUrl(String gitUrl) 
    {
        this.gitUrl = gitUrl;
    }

    public String getGitUrl() 
    {
        return gitUrl;
    }

    public void setDeviceModel(String deviceModel) 
    {
        this.deviceModel = deviceModel;
    }

    public String getDeviceModel() 
    {
        return deviceModel;
    }

    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }

    public void setResultFilePath(String resultFilePath) 
    {
        this.resultFilePath = resultFilePath;
    }

    public String getResultFilePath() 
    {
        return resultFilePath;
    }

    public void setFailureReason(String failureReason) 
    {
        this.failureReason = failureReason;
    }

    public String getFailureReason() 
    {
        return failureReason;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("executionId", getExecutionId())
            .append("userName", getUserName())
            .append("gitUrl", getGitUrl())
            .append("deviceModel", getDeviceModel())
            .append("status", getStatus())
            .append("resultFilePath", getResultFilePath())
            .append("failureReason", getFailureReason())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
